package hng.controller;


import hng.dto.CartDTO;
import hng.service.CartService;
import hng.util.JsonData;
import hng.vo.CartProductVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author 告白
 * @since 2024-06-27
 */
@RestController
@RequestMapping("/cart")
public class CartController {

    @Autowired(required = false)
    private CartService cartService;

    /**
     * 添加商品到购物车
     */
    @PostMapping("add")
    public JsonData add(@RequestBody CartDTO cartDTO) {
        cartService.add(cartDTO);
        return JsonData.buildSuccess();
    }

    /**
     * 删除购物车的商品
     */
    @GetMapping("del")
    public JsonData del(@RequestParam("cartId") Integer cartId) {
        cartService.del(cartId);
        return JsonData.buildSuccess();
    }

    /**
     * 修改购物车的商品
     */
    @PostMapping("update")
    public JsonData update(@RequestBody CartDTO cartDTO) {
        cartService.update(cartDTO);
        return JsonData.buildSuccess();
    }

    /**
     * 查询购物车列表
     */
    @GetMapping("list")
    public JsonData productList() {
        List<CartProductVO> productVOList = cartService.productList();
        return JsonData.buildSuccess(productVOList);
    }
}

